Taint와 Toleration

Taint와 Toleration은 특정 노드에 어떤 Pod가 스케줄링될 수 있는지를 제어하는 메커니즘입니다.

Taint(테인트)

노드에 설정하는 속성으로, 이 노드에 특정 Pod만 스케줄링되도록 제한합니다.

Toleration(톨러레이션)

Pod에 설정하는 속성으로, 특정 Taint가 있는 노드에도 스케줄링될 수 있는 권한을 부여합니다.

작동 방식

클라우드 네트워크 개념과 비교

실습 예시

노드에 Taint 설정

# 노드에 Taint 추가
kubectl taint nodes node1 app=database:NoSchedule

# 노드의 Taint 확인
kubectl describe node node1 | grep Taint

Pod에 Toleration 설정

apiVersion: v1
kind: Pod
metadata:
  name: database
spec:
  containers:
  - name: mysql
    image: mysql:8.4
  tolerations:
  - key: "app"
    operator: "Equal"
    value: "database"
    effect: "NoSchedule"
2026-10 갱신

기존 예시의 mysql:5.7은 2023년 10월 지원 종료(EOL)되었습니다. 현재 LTS인 mysql:8.4로 변경했습니다.

Taint 효과(Effect) 유형

일반적인 사용 사례


관련 문서